4
תגובות
היי אני רוצה ללמוד לפתח לwordpress בoop אבל אני לא מבין מה המשמעות של ה$this בתוך המערך?
add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) );
4 תשובות
$this במקרה הזה מתייחס למאפיינים של המחלקה,כדי לדעת מה אתה שולח תעלה לתחילת הקוד ותחפש את ההכרזה על המאפיינים.
אני מציע לך לפני שאתה מתחיל לפתח ב OOP ללמוד את הבסיס.
במקרה הזה מדובר ב callback (פונקציה שתופעל כאשר יקרה wmpu_new_blog )
בדרך כלל callbackים אפשר לרשום פשוט תור שם הפונקציה
add_action( 'wpmu_new_blog', 'blabla');
אבל מה קורה כאשר הפונקציה שאתה רוצה שתופעל היא מתודה של אובייקט כלשהו?
class A
{
public function blabla() { }
}
$aInstance = new A();
add_action( 'wpmu_new_blog', '???');
{
public function blabla() { }
}
$aInstance = new A();
add_action( 'wpmu_new_blog', '???');
ב-PHP אי אפשר לכתוב פשוט
add_action( 'wpmu_new_blog', '$aInstance->blabla');
בגלל שהוא יחשוב שזה השם המלא של הפונקציה.
לכן callbackים שהם מתודות נהוג לכתוב בצורת מערך:
add_action( 'wpmu_new_blog', [$aInstance,'blabla']);
והפונקציה שתופעל היא blabla של המופע aInstance.
במקרה שלך מפעילים את הפונקציה active_new_site על המופע $this (שזה המופע של המחלקה הנוכחית)
http://phpguide.co.il/phplive?code=914